# -*- coding: utf-8 -*-
"""
@Time    : 2024/6/27 19:12 
@Author  : ZhangShenao 
@File    : multi_return.py 
@Desc    : 多返回值函数
Python会自动将多返回值包装成tuple
在调用方接收多返回值时,Python会自动将tuple解包装,逐个赋值给相应的变量
"""
import datetime


def today() -> (int, int, int):
    """
    获取今天的日期
    :return: 返回今天的日期, 从左到右依次为年、月、日
    """
    t = datetime.date.today()

    # 返回多个值,Python会自动将这些返回值包装成tuple
    return t.year, t.month, t.day


if __name__ == '__main__':
    # 调用函数,接收返回值
    # Python会自动将多返回值包装成tuple
    result = today()
    print(f'type of result is: {type(result)}')  # type of result is: <class 'tuple'>
    print(f'value of result is: {result}')

    # 在调用方接收多返回值时,Python会自动将tuple解包装,逐个赋值给相应的变量
    year, month, day = today()
    print(f'year: {year}, month: {month}, day: {day}')
